home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Cl… (Business) 1997 November / Software of the Month Club - Business Shareware (Volume 243) (November 1997).iso / dos / biz / Parse / CHANGE.TXT < prev    next >
Encoding:
Text File  |  1997-08-27  |  26.2 KB  |  527 lines

  1. ===============================================================================
  2. ==========================                         ============================
  3. ==========================     VERSION HISTORY     ============================
  4. ==========================                         ============================
  5. ===============================================================================
  6.  
  7.  
  8.      For easy reference, this history is presented in reverse order (most
  9.      recent version first).  Remember:  if you have previously registered
  10.      Parse-O-Matic, you can self-register any evaluation copies we create
  11.      for two years (six years for deluxe registration).  Thus, your small
  12.      investment in the  initial  registration  can provide you  with many
  13.      free updates.  Since we do not  automatically  ship new versions, we
  14.      invite you to visit our Web site (users.aol.com/psoftinfo) every few
  15.      months, to see what's new.
  16.  
  17.  
  18. +------------------------- WE ARE CUSTOMER-DRIVEN! ---------------------------+
  19. |                                                                             |
  20. |    Most of the enhancements to Parse-O-Matic are inspired by POM users.     |
  21. |    We charge a nominal fee for custom work, but we will usually provide     |
  22. |    a discount if the requirement seems to be beneficial to other users.     |
  23. |                                                                             |
  24. |    ******* PARSE-O-MATIC'S EVOLUTION IS GUIDED BY OUR CUSTOMERS *******     |
  25. |                                                                             |
  26. +-----------------------------------------------------------------------------+
  27.  
  28.  
  29. ------ ------------------------------------------------------------------------
  30.  VER.  WHAT'S NEW IN THIS VERSION
  31. ------ ------------------------------------------------------------------------
  32.  
  33. 3.92A  Enhanced SET command
  34.          Added trimming and default settings to SET command
  35.          This turned out to be so useful that it alone warranted a new release!
  36.        Minor changes to documentation
  37.        Renamed several files to use proper .TXT extension
  38.          This is in deference to Windows users
  39.  
  40. 3.91A  New Features
  41.          Job (POJ) files contain the parameters for a POM command
  42.            Job files allow you to prompt for the input and output file names
  43.              See "Parse-O-Matic Job (POJ) Files" in the manual
  44.            Job files are a handy way to run POM from Windows
  45.        New Command
  46.          FILESIZE var value
  47.            Returns size of file, or null if file does not exist
  48.            See "The FILESIZE Command" in the manual
  49.        Enhanced Commands
  50.          OFILE can now deduce an output file name, based on the input file name
  51.            See "The OFILE Command" in the manual
  52.          TRIM now has "multiple" option
  53.            TRIM $FLINE "M" " " removes multiple spaces, leaving only singles
  54.            See "The TRIM Command" in the manual
  55.        POM-File Encryption
  56.          New SCRAMBLE utility discourages users from tampering with a POM file
  57.            The POM file is rendered unreadable -- except to Parse-O-Matic
  58.            See "Encrypted (Scrambled) POM Files" in the manual
  59.        Other Enhancements
  60.          The code for trimming has been rewritten for faster performance
  61.            This improvement should be noticeable when converting large files
  62.          The SHOWNUM utility now converts characters as well as numbers
  63.            See "The SHOWNUM Utility" in the manual
  64.  
  65. ------ ------------------------------------------------------------------------
  66.  VER.  ENHANCEMENTS IN PREVIOUS VERSIONS
  67. ------ ------------------------------------------------------------------------
  68.  
  69. 3.90A  New Features
  70.          Deduced, array and eponymous variables
  71.            This is an extremely powerful feature of Parse-O-Matic
  72.            Supports 1, 2 and 3 dimensional arrays
  73.            Supports eponymous variables
  74.              You can name a variable after a piece of input data
  75.              You can not do this kind of thing in most standard languages
  76.          User-specified command-line parameters
  77.            /X /Y /Z set $CMDLINEX $CMDLINEY $CMDLINEZ
  78.          New SCANPOSN command compares a string against a list of items
  79.          New RANDOM command generates a random number
  80.        Enhancements
  81.          POM now runs in protected mode for improved performance
  82.            POM will no longer run on 8088 and 8086-class machines
  83.            A custom 8088/8086 copy of 3.90 can be made for you, if necessary
  84.          Improved capacity for variables and literals
  85.            Increased maximum number of variables and literals from 1000 to 2000
  86.              This can get used up quickly by arrays (each entry is a variable)
  87.          Optimized storage of literals
  88.            Identical literals only take up one variable/literal slot
  89.          Vastly improved file viewer (SEE.EXE)
  90.            No limits to file length; views lines up to 255 chars wide
  91.            Many helpful search commands; built-in help and customization
  92.            This version is to support POM -- not for distribution
  93.        Problems Fixed
  94.          Corrected unexpected page eject when using OFILE then PAGELEN
  95.            This only mattered if PAGELEN was set for the previous file
  96.          Corrected occasional spurious character "found" at end of SPLIT files
  97.  
  98.        ----------------
  99.        UPGRADE ADVISORY
  100.        ----------------
  101.  
  102.        Any variable names that contain parentheses "(" or ")" should be renamed
  103.        Any variable names that contain commas should be renamed
  104.          In general, use only A to Z, 1 to 9 and underscore in variable names
  105.  
  106.        Debugging notice
  107.          The OUT and OUTEND commands work slightly differently
  108.            They no longer report if they encounter a non-existent variable
  109.            If they can't find a variable, they simply put nothing at that spot
  110.              This is closer to the general theory of variables of POM
  111.              This also allows for simpler code with scattered array variables
  112.  
  113. 3.81C  Corrected leap-year interaction between DATE, MAKEDATA and MAKETEXT
  114.          This occured when converting both date serials and text dates
  115.  
  116. 3.81B  Corrected typographical error in the user manual
  117.  
  118. 3.81A  New commands
  119.          OVERLAY  lets you extend or overwrite portions of a variable
  120.          REWIND   lets you back up in a SPLIT or CHOPped file
  121.          ROUNDING controls rounding by CALCREAL (see Upgrade Advisory)
  122.          SHOWNOTE displays a short progress message on the processing screen
  123.        Enhancements
  124.          The GET command
  125.            GET can now be used in SPLIT files, not just CHOPped files
  126.            GET x "EOF" returns "Y" or "N" for End-of-File condition
  127.            LOOSE parameter (STRICT is default)
  128.              Permits processing to continue despite unexpected end-of-file
  129.          Manual reading (CHOP 0) now runs slightly faster
  130.        Problems fixed
  131.          ERASE did not work if the file name had a plus ("append") in front
  132.          Quiet Mode (/Q) is better behaved when POM is called by a DOS program
  133.            Minor changes sometimes appeared on the screen if it was not redrawn
  134.  
  135.        ----------------
  136.        UPGRADE ADVISORY
  137.        ----------------
  138.  
  139.        This notice concerns you if you use the CALCREAL command.
  140.  
  141.        Due to the way that real numbers (as opposed to integers) are
  142.        calculated in binary, CALCREAL would sometimes return unexpected
  143.        results.  For example:
  144.  
  145.        CALCREAL x = "400.00" "-" "390.60" "2"
  146.  
  147.        produces the answer "9.39" rather than the expected answer of "9.40".
  148.  
  149.        This is because, in real-mode binary calculations, the answer ends up as
  150.        9.3999999, which is very close indeed to the correct answer.  However,
  151.        when you specify "two digits of precision" (the "2" in the command), the
  152.        answer is simply truncated after two digits, yielding the answer "9.39".
  153.  
  154.        This issue is now resolved.  When appropriate, answers are rounded up,
  155.        if you have explicitly specified a fixed number of digits of precision.
  156.        Floating calculations are not rounded.
  157.  
  158.        This means that existing POM files may work slightly differently than
  159.        before.  To make your existing POM files continue to work the way they
  160.        used to (i.e. simply truncating answers when you specify the number of
  161.        digits of precision), place the following command at the beginning of
  162.        your POM file (typically in the PROLOGUE):
  163.  
  164.        ROUNDING "N"
  165.  
  166.        This will disable the rounding feature, which is, by default, enabled.
  167.  
  168.        See "The ROUNDING Command" (in the user manual) for full details.
  169.  
  170. 3.80A  New KEEP command performs a conditional page eject to keep text together
  171.        New CODE and CALL commands allow you to define subroutines
  172.        New predefined value $LINECOUNTER
  173.        Color control for menus (see Upgrade Advisory)
  174.        Changes to user manual
  175.          Reformatted for easier reference
  176.          Manual file has been renamed from POM.DOC to MANUAL.DOC
  177.        Please note that our phone numbers for credit card orders has changed
  178.          See the text file ORDER.FRM for the new numbers
  179.  
  180.        ----------------
  181.        UPGRADE ADVISORY
  182.        ----------------
  183.  
  184.        This notice concerns you if:
  185.  
  186.        - You use the old menu program MENU.EXE in your own batch files, or...
  187.        - You placed the old DEVELOP.BAT file in another directory, or..
  188.        - You are using a modified copy of the old DEVELOP.BAT
  189.  
  190.        The old menu program (MENU.EXE) has been replaced by a slightly improved
  191.        version, named PSMENU_D.EXE.  The name was changed to avoid confusion
  192.        with the numerous menu programs that are also called MENU.EXE.  (Some
  193.        users experienced problems when using the DEVELOP.BAT batch file because
  194.        they had more than one MENU.EXE on their system.)
  195.  
  196.        Please do not rename PSMENU_D.EXE to something else; we will be
  197.        upgrading our multi-platform support soon, and the menuing system will
  198.        expect the DOS menu program to have that name.
  199.  
  200.        PSMENU_D lets you control the color of the menus.  For details, print or
  201.        view the comments in the file POM.MNU.
  202.  
  203.        You may use PSMENU_D in your other applications.  Enter  PSMENU_D  at the
  204.        DOS prompt for an explanation of the distribution (legal) conditions.
  205.  
  206. 3.71A  Fixed: Some data might be lost if OUT generated exactly 254 characters
  207.        and then additional data was added with another OUT or OUTEND command
  208.  
  209. 3.70A  New commands
  210.          CVTCASE converts a variable to uppercase or lowercase
  211.          GETENV  obtains a system environment variable (e.g. PATH)
  212.          MSGWAIT controls the behaviour of error messages
  213.          REMAP   transforms sub-strings into other strings
  214.          MAPFILE reads a file containing data transformations for REMAP
  215.        Enhancements to PARSE, PEEL and FINDPOSN
  216.          Search strings (e.g. "2*,") are now known as decapsulators
  217.          Overlapping decapsulators now behave more gracefully
  218.            PARSE and PEEL return an empty string; FINDPOSN returns "0"
  219.              This situation used to generate an error message
  220.                i.e. "From" value exceeds "To" value
  221.                Most users found this unhelpful or confusing
  222.                For details, see "Overlapping Decapsulators" in the manual
  223.          New search parameter looks for "last occurence" or "first occurence"
  224.            Example of  "last occurence":  PARSE xyz $FLINE ">*$" ">*.00"
  225.            Example of "first occurence":  PARSE xyz $FLINE "<*$" "<*.00"
  226.        Documentation
  227.          Improved quick-reference section
  228.            The "importable" version has moved from EXAMPL04.POM to QUICKREF.POM
  229.  
  230.        ----------------
  231.        UPGRADE ADVISORY
  232.        ----------------
  233.  
  234.        This notice concerns you if:
  235.  
  236.        - You have created POM applications that are run unattended
  237.        - You use the HALT command
  238.  
  239.        (See "Unattended Operation" and "The HALT Command" in the manual)
  240.  
  241.        Since version 3.20, error messages would "time out" after sixty seconds
  242.        (or when a key was pressed), whereupon Parse-O-Matic would terminate.
  243.  
  244.        Parse-O-Matic now waits for permission to continue if an error occurs.
  245.        You can control this behaviour with the new MSGWAIT command (see "The
  246.        MSGWAIT Command" in the manual).
  247.  
  248.        To make Parse-O-Matic behave as it did before (i.e. timing out sixty
  249.        seconds), add this line to your POM file:  MSGWAIT "60"
  250.  
  251.        If you simply want to make your HALT commands work the same way (i.e.
  252.        allowing them to time out after about a minute), insert MSGWAIT "60"
  253.        prior to each HALT command.
  254.  
  255. 3.61A  Added inline decrement (e.g. SET y = x-)
  256.        LOG command now allows two additional (optional) values
  257.        Rationalized null specs and empty fields in Parse, Peel and FindPosn
  258.          Customers were using these in creative ways that we had not foreseen
  259.          We have taken these into account and fully documented the behaviour
  260.          See "The Null Decapsulator", "Left-Peeling" and "Insoluble Searches"
  261.        Minor improvements to the processing display
  262.  
  263. 3.60A  New commands
  264.          MAKEDATA converts text data to binary
  265.          MAKETEXT converts binary data to text
  266.          ZERODATE initializes the date for serialized date format
  267.          GET      reads variable-length records and delimiter-terminated data
  268.          GETTEXT  combines functions of GET and MAKETEXT commands
  269.          AGAIN    allows you to return to an earlier BEGIN comparison
  270.        Enhancements
  271.          CHOP now allows manually-controlled reading (via the GET command)
  272.          Read-only files are opened as such, avoiding sharing problems on LANs
  273.          Improved appearance of trace logs
  274.          Hexadecimal literals (e.g. $39$34 means "94")
  275.        Utilities
  276.          SHOWNUM.EXE: reference tool converts decimal to hex and vice-versa
  277.          DEVELOP.BAT: simple interactive development environment (IDE)
  278.        Documentation
  279.          New material added for the READNEXT and LOOKUP commands
  280.          Several new sections about techniques and operational planning
  281.          Additional material about running Parse-O-Matic under Windows
  282.        Improved file-handling
  283.          OFILE now adds the default extension, if necessary
  284.            In 3.50, OFILE "XYZ" would not automatically add the .TXT extension
  285.          The default extension routine is no longer "fooled" by ..\ or .\
  286.            Earlier, a file name like ..\XYZ would not get the default extension
  287.        Problems fixed
  288.          Fixed "FRAME-UUI" problem affecting Quiet mode
  289.          Fixed routine to search through DOS PATH for "missing" files
  290.  
  291. 3.50A  Corrected a bug in the LOOKCOLS command (affected Parse-O-Matic v3.4x)
  292.          It would set the "Key-End" value to the last number listed in LOOKCOLS
  293.          It would set the "Data-Start" and "Data-End" to defaults (12 and 255)
  294.        New commands
  295.          ERASE   deletes a file
  296.          OUTPAGE sends a page eject to the output file (or device)
  297.          PAUSE   delays the specified number of milliseconds
  298.          OFILE   switches between output files
  299.            You can overwrite a file or append (add to the end)
  300.              See "How Parse-O-Matic Opens an Output File" in the manual
  301.              The append feature is also available at the command-line level
  302.        Enhancements
  303.          Processing display now shows input and output in appropriate units
  304.            Input units  (Bytes or Records)
  305.            Output units (Bytes or Lines)
  306.          Additional information in "processing completed" line in POMLOG.TXT
  307.            It now specifies the amount of output (in bytes or lines)
  308.          Output can now be sent to a generic device (e.g. COMx or LPTx)
  309.            See "Sending Output to a Device" in the manual
  310.        Documentation
  311.          New "File Handling" section in the manual
  312.  
  313.        ----------------
  314.        UPGRADE ADVISORY
  315.        ----------------
  316.  
  317.        POM now creates the output file ONLY when it first receives output
  318.        See "How Parse-O-Matic Opens an Output File" in the manual for details
  319.        If the output file does not receive any output...
  320.          If it did not previously exist, it will not be created
  321.          If it already existed, it will contain the old data
  322.            To ensure old data is gone...
  323.              Delete the output file before running Parse-O-Matic, or ...
  324.              Use the ERASE command in the PROLOGUE
  325.  
  326. 3.41B  PEEL reports precise nature of certain impossible parsing situations
  327. 3.41A  Fixed trimming problem affecting PEEL when using "null" delimiter
  328.  
  329. 3.40   New commands
  330.          DATE and TODAY provide date formatting, in any language
  331.          MONTHNUM converts text month to numeric month, in any language
  332.          COPY copies a variable from one character position to another
  333.          DELETE removes selected characters positions from a variable
  334.          EXTRACT moves selected characters from one variable to another
  335.          FINDPOSN locates the position of a string in another
  336.        Enhancements
  337.          All control files (including POM) are searched for, if necessary
  338.            If a directory is explicitly specified, POM looks there only
  339.            Otherwise, POM searches logged dir, POM's dir, then the DOS PATH
  340.            This makes it easier to build a library of standard files
  341.          INSERT now allows "insert to left" and "insert to right"
  342.          Automatic numeric comparators
  343.            The old method used text comparisons, which required pre-padding
  344.            Comparisons automatically determine if number is real or integer
  345.          CALC and CALCREAL now explicitly report "divide by zero" attempts
  346.          User manual reformatted for easier reference
  347.            Explanations of commands are preceded by an improved overview
  348.        Problems fixed
  349.          There were no problems reported in the last release
  350.  
  351. 3.31A  Numeric command parameters are now more forgiving
  352.          Spaces, tabs and commas are removed
  353.  
  354. 3.30A  New commands
  355.          LOG command writes a message to the log file POMLOG.TXT
  356.          HALT command allows termination with a DOS errorlevel
  357.          CALC command performs integer arithmetic functions
  358.          CALCREAL command performs decimal arithmetic functions
  359.          EPILOGUE command defines code to be run before input is processed
  360.          PROLOGUE command defines code to be run after  input is processed
  361.        Enhancements
  362.          Optional MINLEN setting controls the READNEXT command
  363.          Tracing no longer shows code inside skipped BEGIN/ELSE/END blocks
  364.          Increased variable name length from 8 to 12
  365.          Increased number of DBF fields from 50 to 100
  366.          Increased maximum line length in look-up files from 80 to 255
  367.          Increased maximum number of POM lines from 500 to 750
  368.            This does not include comment lines
  369.          Lookup file (LOOKFILE) is now searched for in various directories
  370.            If a directory is explicitly specified, POM looks there only
  371.            Otherwise, POM searches logged dir, POM's dir, then the DOS PATH
  372.          Restructured tutorial for easier reference
  373.          New deluxe registration provides 6 years of new version registration
  374.            Three times the standard benefit, but only twice the price
  375.        Problems fixed
  376.          Clustered ACCEPTs inside "false" code blocks were sometimes executed
  377.          Some error reporting caused problems on extremely large POM files
  378.          Ran out of file handles if you had a large number of input files
  379.          Incomplete trimming of multiple character delimiters in PEEL
  380.  
  381. 3.21A  Custom version; not released to public
  382.  
  383. 3.20A  Parsing of multiple input files into one output file
  384.          DOS wildcards are now permitted in POM command for input file name
  385.            For example:  POM XYZ.POM *.TXT OUTPUT.TXT
  386.          New NEXTFILE command skips to next input file
  387.          New predefined variable $COMMAND, showing current POM command
  388.        New PEEL command
  389.          Works like PARSE, but removes parsed text from source variable
  390.        New SOUND command
  391.          Sets error-message sound or generates a sound
  392.        The DONE and READNEXT commands now have optional comparisons
  393.          For example:  DONE x = y
  394.        Restructured example files as an interactive tutorial
  395.        Enhancements for unattended operation
  396.          Log file (POMLOG.TXT) records processing, and any errors
  397.          Error and warning messages pause for a minute, then the program ends
  398.        Fixed problem with ELSE statements nested two deep
  399.  
  400. 3.11A  DBF file enhancements
  401.          Improved reporting of DbF fields when tracing
  402.          Corrected data alignment error that affected some DbF files
  403.  
  404. 3.10A  New ELSE command
  405.          Allows BEGIN/ELSE/END blocks
  406.        New READNEXT command
  407.          Reads next line from input file, maintaining current place in POM file
  408.        New SETLEN command
  409.          Sets a variable to the length of a value (e.g. "XYZ" is length "3")
  410.        New DONE command (useful only in BEGIN/ELSE/END blocks)
  411.          Jumps to the end of the POM file; equivalent to IGNORE "X" = "Y"
  412.        New ~ comparator ("does not contain")
  413.        PARSE returns a null value if given impossible parsing task
  414.          Example: PARSE x "FRED/MARY" "1*/" "2*/" (problem: no second slash)
  415.        Maximum number of variables and literals increased to 1000 (was 225)
  416.  
  417. 3.00A  New PARSE command
  418.          You can now parse free-form data (including comma-delimited files)
  419.        New APPEND command
  420.          Allows you to concatenate up to four values
  421.        Data in output buffer (via OUT) is now flushed at end of input file
  422.          You can now use POM to create binary and fixed-record-length files
  423.        Varied comparators (equals, not equals, less than, contains, etc.)
  424.          Affects the commands IF, IGNORE, ACCEPT, BEGIN, OUT[END]
  425.          For example:  IF x > y THEN z = "YES"
  426.  
  427.        -------------------------------------------
  428.        CHANGES REQUIRED IN YOUR EXISTING POM FILES
  429.        -------------------------------------------
  430.  
  431.        This notice involves a change in the behaviour of IGNORE and ACCEPT.
  432.  
  433.        With the addition of varied comparators, you may have to change some of
  434.        your old POM files.  The IGNORE and ACCEPT commands were considered
  435.        "true if the string contains the specified text".  In other words, they
  436.        performed a "contains" comparison rather than an "equals" comparison.
  437.        (IF, BEGIN and OUT[END] used an "equals" comparison.)  IGNORE and ACCEPT
  438.        now default to an "equals" comparison.
  439.  
  440.        There are two situations in which you must modify an IGNORE or ACCEPT:
  441.  
  442.        (1)  If you padded the line with "=" (for clarity or aesthetics), yet
  443.             you meant "contains", the line should be changed.  For example:
  444.  
  445.             IGNORE $FLINE[1 10] = "YES"    (old style, using "=" for clarity)
  446.             IGNORE $FLINE[1 10] ^ "YES"    (new style, using "contains" symbol)
  447.  
  448.        (2)  If you omitted the "=" character, and you want to do a "contains"
  449.             comparison, you must insert the "contains" symbol:
  450.  
  451.             IGNORE $FLINE[1 10] "YES"      (old style, stated tersely)
  452.             IGNORE $FLINE[1 10] ^ "YES"    (new style, using "contains" symbol)
  453.  
  454.        If you are comparing two strings of equal length, there is no need to
  455.        modify an IGNORE or ACCEPT.  For example:  IGNORE $FLINE[1 3] "YES"
  456.        will continue to work properly, since either a "contains" or "equals"
  457.        comparison will produce the same result.
  458.  
  459. 2.71B  Fixed SPLIT bug
  460.          POM quit early if file length was an exact multiple of 32767
  461.  
  462. 2.71A  Added PROPER command
  463.        Updated manual to explain licensing options
  464.  
  465. 2.70C  Minor fix to unregistered (trial copy) reminder
  466.  
  467. 2.70A  POM can now read DBF (DBase) files directly
  468.        New ASCII literals (using the # character)
  469.        New TRACE, OUTHDG and PAGELEN commands
  470.        Documented the /Q command-line switch
  471.        User manual expanded to 30 pages; new examples (walk-throughs) provided
  472.  
  473. 2.60   New BEGIN and END commands (blocked "IF" operations)
  474.          Command lines may now be indented for clarity
  475.        New predefined variable $SPLIT
  476.          This indicates which CHOP or SPLIT segment you are on (1, 2, 3 etc.)
  477.        New look-up processing
  478.          New LOOKUP, LOOKSPEC, LOOKCOLS, LOOKFILE commands
  479.          New /L start-up option
  480.        Improved error detection and reporting
  481.        Comparison operation is now optional for OUT and OUTEND
  482.  
  483. 2.52   Added new symbol $TAB; fixed operation of $BRR and $BRL
  484.        New provisions for international registration
  485.  
  486. 2.51   Fixed Program Error MV-P-2 caused by padding with tabs instead of spaces
  487.  
  488. 2.50   CHOP command breaks up fixed-length (non-text) files
  489.        User manual restructured and partially rewritten
  490.  
  491. 2.40   SPLIT command breaks up long (over 255 characters) input lines
  492.  
  493. 2.33   New /Q (quiet) function:  type POM /? for explanation
  494.        Fixed bug: long output lines (>255) occasionally would lose some text
  495.  
  496. 2.32   Fix to CHANGE to correct lock-up when matching single-character string
  497.        Added registration via credit card
  498.        Added new version of SEE to allow full browsing of wide documents
  499.        While tracing, processing display now shows precise line number
  500.  
  501. 2.31   MINLEN now supports zero-length lines
  502.          Default MINLEN is, however, still "1"
  503.  
  504. 2.30   Output (via OUT and OUTEND) can now be more than 255 characters
  505.          However, no individual OUT or OUTEND can output a line longer than 255
  506.        New commands:  PAD, INSERT
  507.        Ease-of-use changes
  508.          More informative processing display
  509.          Variable names are no longer case sensitive
  510.          Improved error checking
  511.          Added another example to documentation
  512.  
  513. 2.20   Provided 2-year self-registration for registered users
  514.        Increased number of variables and literals from 100 to 225
  515.        Allowed "=", "THEN" and "ELSE" to improve readability
  516.        New commands:  SET, ACCEPT
  517.        Now possible to trace variables by name (SET POM=var/var/var...)
  518.          SET POM=T (older versions) is now specified as SET POM=ALL
  519.        Improved documentation (more examples)
  520.  
  521. 2.10   First public release
  522.  
  523. 2.00   Custom version; not released to public
  524.  
  525. 1.00   Custom version; not released to public
  526.  
  527.